1. Field of the Invention
The present invention relates, generally, to the configuration of hardware in storage devices, and in particular embodiments, to the programming of a configuration serial Electrically Erasable Programmable Read-Only Memory (EEPROM) via an external connector after the EEPROM has been installed in a sealed switch box.
2. Description of Related Art
Non-blocking and blocking crossbar switches for storage systems are generally implemented in several configurations. In one configuration, the crossbar switch is contained within an enclosure containing a number of drives, and the enclosure is referred to as a Switched Bunch Of Disks (SBOD). In another configuration, the crossbar switch is contained in an enclosure referred to as a root switch, which connects externally to a number of arbitrated loops of drives known as Just a Bunch Of Disks (JBODs). In yet another configuration, a root switch is connected to SBODs in a fully switched architecture.
FIG. 1 illustrates an exemplary conventional system environment 100 utilizing crossbar switches employed within SBODs. In FIG. 1, an initiator such as a host computer 102, including an Input/Output (I/O) controller such as a Host Bus Adapter (HBA) 104, is connected to a storage system 106 via an Ethernet or Local Area Network (LAN) or Storage Area Network (SAN) 108 implementing a protocol such as Fibre Channel (FC). Storage system 106 may include one or more storage controllers such as Redundant Array of Independent Disks (RAID) controllers 112, and mass storage capability such as a RAID 110, which may include multiple SBODs 114, each containing multiple disk drives 132, a crossbar switch 124, a processor 126, and a variety of storage enclosure hardware 128. The crossbar switch 124 provides ports for direct connections to each of the drives 132 within each SBOD 114.
FIG. 2 illustrates an exemplary switch 200 for use in the system environment of FIG. 1, or in a fully switched environment (not shown). Switch 200 includes a number of ports 202. Ports 202 may employ Small Form Factor (SFF) connectors 206, which are hot-swappable, high-speed, physically compact connectors for receiving Small Form-factor Pluggable (SFP) optical or electrical modular transceivers 204. Because SFP transceivers 204 can be easily interchanged, electro-optical or fiber optic networks can be easily upgraded and maintained. Connected to the ports 202 is a non-blocking crossbar switch 208, referred to herein as a Switch On a Chip (SOC). The SOC 208 needs to be configured with configuration data. One example of configuration data that can be utilized by the SOC 208 is the identification of unused ports, which can be powered down to conserve power and reduce noise. Connected to the SOC 208 is an EEPROM 210, which stores basic configuration information that the SOC 208 reads during power-up initialization. The SOC 208 and EEPROM 210 may be connected by a three conductor serial bus (clock, data, ground) implementing a protocol such as the Inter-Integrated Circuit (I2C) protocol 212. When the SOC 208 powers up or is re-booted, it reads this basic configuration information from the EEPROM 210, which enables the SOC 208 to begin operating.
The SOC 208 may be managed by a processor 214 within the switch 200. In a managed configuration, the processor 214 may be connected to a separate serial port 216 for external programming and may directly store new configuration information in the EEPROM 210 using the serial bus 212. However, if the SOC 208 is unmanaged (no processor 214 or port 216), another means must be found to store new configuration data in the EEPROM 210.
In conventional unmanaged switches 200, configuration data may be programmed into the EEPROM 210 prior to its installation into the switch 200, or the EEPROM 210 may be installed into the switch 200 in a blank state, and then programmed using a special connector or pads prior to sealing the switch enclosure. Once the switch enclosure is sealed or closed, it is not possible to re-program the EEPROM 210 with new configuration data unless the switch enclosure is physically removed from the storage system, unsealed, and then either the special connector is accessed or the EEPROM 210 is physically removed from the switch 200 and reconfigured or replaced. Either of these methods is costly and inefficient.
Therefore, there is a need to be able to store new configuration data in the EEPROM 210 without having to unseal or open the switch enclosure or even remove the enclosure from the storage system.